package org.jeecg.modules.inspect.vo;

import java.util.List;
import org.jeecg.modules.inspect.entity.InsRule;
import org.jeecg.modules.inspect.entity.InsRuleLine;
import org.jeecg.modules.inspect.entity.InsRuleDuty;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecgframework.poi.excel.annotation.ExcelEntity;
import org.jeecgframework.poi.excel.annotation.ExcelCollection;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * @Description: 配置规则
 * @Author: jeecg-boot
 * @Date:   2023-11-24
 * @Version: V1.0
 */
@Data
@ApiModel(value="ins_rulePage对象", description="配置规则")
public class InsRulePage {

	/**卡ID*/
	@ApiModelProperty(value = "卡ID")
    private java.lang.String id;
	/**规则名称*/
	@Excel(name = "规则名称", width = 15)
	@ApiModelProperty(value = "规则名称")
    private java.lang.String ruleName;
	/**执行角色*/
	@Excel(name = "执行角色", width = 15, dictTable = "sys_role", dicText = "role_name", dicCode = "id")
    @Dict(dictTable = "sys_role", dicText = "role_name", dicCode = "id")
	@ApiModelProperty(value = "执行角色")
    private java.lang.String roleId;
	/**执行周期*/
	@Excel(name = "执行周期", width = 15, dicCode = "execute_cycle")
    @Dict(dicCode = "execute_cycle")
	@ApiModelProperty(value = "执行周期")
    private java.lang.String executeCycle;
	/**执行次数*/
	@Excel(name = "执行次数", width = 15)
	@ApiModelProperty(value = "执行次数")
    private java.lang.Integer executeNum;
	/**规则类型*/
	@Excel(name = "规则类型", width = 15, dicCode = "rule_type")
    @Dict(dicCode = "rule_type")
	@ApiModelProperty(value = "规则类型")
    private java.lang.String ruleType;
	/**线路*/
	@Excel(name = "线路", width = 15, dictTable = "ins_line", dicText = "line_name", dicCode = "id")
    @Dict(dictTable = "ins_line", dicText = "line_name", dicCode = "id")
	@ApiModelProperty(value = "线路")
    private java.lang.String lineId;
	/**人员*/
	@Excel(name = "人员", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "username")
    @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username")
	@ApiModelProperty(value = "人员")
    private java.lang.String userId;
	/**部门*/
	@Excel(name = "部门", width = 15, dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
    @Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
	@ApiModelProperty(value = "部门")
    private java.lang.String departId;
	/**规则状态*/
	@Excel(name = "规则状态", width = 15, dicCode = "rule_status")
    @Dict(dicCode = "rule_status")
	@ApiModelProperty(value = "规则状态")
    private java.lang.String ruleStatus;
	/**备注*/
	@Excel(name = "备注", width = 15)
	@ApiModelProperty(value = "备注")
    private java.lang.String remark;
	/**创建人*/
	@ApiModelProperty(value = "创建人")
    private java.lang.String createBy;
	/**创建时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
	@ApiModelProperty(value = "创建时间")
    private java.util.Date createTime;
	/**修改人*/
	@ApiModelProperty(value = "修改人")
    private java.lang.String updateBy;
	/**修改时间*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
	@ApiModelProperty(value = "修改时间")
    private java.util.Date updateTime;
	/**删除标记 0正常 1已删除*/
	@Excel(name = "删除标记 0正常 1已删除", width = 15)
	@ApiModelProperty(value = "删除标记 0正常 1已删除")
    private java.lang.Integer delFlag;
	/**组织机构编码*/
	@ApiModelProperty(value = "组织机构编码")
    private java.lang.String sysOrgCode;

	@ExcelCollection(name="线路规则")
	@ApiModelProperty(value = "线路规则")
	private List<InsRuleLine> insRuleLineList;
	@ExcelCollection(name="值班规则")
	@ApiModelProperty(value = "值班规则")
	private List<InsRuleDuty> insRuleDutyList;

}
